import pygame , math
from pygame.locals import *
pygame.init()
screen = pygame.display.set_mode((400, 300))
pygame.display.set_caption("Move image with mouse")
img1 = pygame.image.load('../1.png')
done = False
bg = (127,127,127)
while not done:
   for event in pygame.event.get():
      screen.fill(bg)

      if event.type == pygame.QUIT:
         done = True
      if event.type == MOUSEMOTION:
         mouse = event.pos   #获取鼠标位置
         x = mouse[0] - 200
         y = mouse[1] - 150  #计算鼠标与中心点的相对位置:
         d = math.sqrt(x ** 2 + y ** 2)   #计算距离:（勾股定理）
         angle = math.degrees(-math.atan2(y, x))
         #然后，使用math.degrees将其转换为角度制。
         scale = abs(5 * d / 400)  #计算缩放比例
         # d是鼠标与中心点的距离，400可能是一个常数，用于控制缩放的敏感度。
         # 这里乘以5可能是为了增加缩放效果。使用abs确保缩放比例始终为正数。
         img2 = pygame.transform.rotozoom(img1, angle, scale)
         rect = img2.get_rect()
         rect.center = (200,150)
         screen.blit(img2, rect)
   pygame.display.update()